package com.project.domain.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.framework.config.BigDecimalSerializer;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import org.apache.poi.hpsf.Decimal;

import java.math.BigDecimal;
import java.time.LocalDate;

/**
 * 项目信息
 */
@Data
@TableName("v_project")
public class SyntProject {

    private static final long serialVersionUID = 1L;

    /** 项目ID */
    private String id;

    /** 项目名称 */
    private String name;

    /** 负责人名称 */
    private String chargerName;

    /** 项目编号 */
    private String code;

    /** 项目类型 */
    private String projectClass;

    /** 负责人id */
    private String chargerCode;

    /** 外拨金额 */
    @JsonSerialize(using = BigDecimalSerializer.class)
    private BigDecimal outFee;

    /** 合同金额 */
    @JsonSerialize(using = BigDecimalSerializer.class)
    private BigDecimal feeAuthorize;

    /** 单位id */
    private String unitId;

    /** 单位名称 */
    @TableField(exist = false)
    private String unitName;

    @TableField(exist = false)
    private String chargerUnitName;

    @TableField(exist = false)
    private String chargerUnitId;

    /** 开始日期 */
//    @TableField(exist = false)
    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDate beginDate;

    /** 计划完成日期 */
//    @TableField(exist = false)
    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDate planEndDate;

    /** 立项日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDate authorizeDate;

    /** 审核状态 */
    @TableField("checkStatus")
    private String checkStatus;

    /** 项目分类 */
    @TableField(exist = false)
    private String belongType;


    /**流程实例id*/
    private String processInstanceId;

}
